package com.gsm.controller;

import com.gsm.entity.Result;
import com.gsm.po.CourseData;
import com.gsm.service.CourseDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 课程资料(CourseData)表控制层
 *
 * @author wjq
 * @since 2020-12-03 02:06:51
 */
@RestController
@RequestMapping("courseData")
public class CourseDataController {
    @Autowired
    private CourseDataService courseDataService;

    /**
     * 新增
     */
    @PostMapping("courseData")
    public Result insertCourseData(@RequestBody CourseData courseData) {
        Result result = courseDataService.insertCourseData(courseData);
        return result;
    }

    /**
     * 根据课程id 新增资料列表
     */
    @PutMapping("courseDataList/{courseId}")
    public Result insertCourseDataListByCourseId(@PathVariable("courseId") Long courseId,@RequestBody List<CourseData> list) {
        Result result = courseDataService.insertCourseDataListByCourseId(courseId,list);
        return result;
    }

    /**
     * 根据 id 删除数据
     */
    @DeleteMapping("courseData/{courseDataId}")
    public Result deleteCourseDataByCourseDataId(@PathVariable("courseDataId") Long courseDataId) {
        Result result = courseDataService.deleteCourseDataByCourseDataId(courseDataId);
        return result;
    }

    /**
     * 根据 id 修改单条数据
     */
    @PutMapping("courseData/{courseDataId}")
    public Result updateCourseDataByCourseDataId(@PathVariable("courseDataId") Long courseDataId, @RequestBody CourseData courseData) {
        courseData.setCourseDataId(courseDataId);
        Result result = courseDataService.updateCourseDataByCourseDataId(courseData);
        return result;
    }

    /**
     * 根据 id 查询单条数据
     */
    @GetMapping("courseData/{courseDataId}")
    public Result selectCourseDataByCourseDataId(@PathVariable("courseDataId") Long courseDataId) {
        Result result = courseDataService.selectCourseDataByCourseDataId(courseDataId);
        return result;
    }

    /**
     * 根据条件查询 List
     */
    @GetMapping("courseDataList")
    public Result selectCourseDataList(CourseData courseData) {
        Result result = courseDataService.selectCourseDataList(courseData);
        return result;
    }

    /**
     * 根据条件查询 List
     */
    @GetMapping("courseDataList/{courseId}")
    public Result selectCourseDataListByCourseId(@PathVariable("courseId")Long courseId) {
        Result result = courseDataService.selectCourseDataListByCourseId(courseId);
        return result;
    }

    /**
     * 根据id排序
     */
    @PutMapping("order")
    public Result updateCourseDataShowOrder(@RequestBody List<Long> ids) {
        Result result = courseDataService.updateCourseDataShowOrder(ids);
        return result;
    }
}